package com.study.animationstudy.ui

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.animation.Animation
import com.study.animationstudy.R
import com.study.animationstudy.base.BaseActivity
import com.study.animationstudy.databinding.ActivitySwingAnimBinding
import com.study.animationstudy.widget.SwingAnimation

class SwingAnimActivity : BaseActivity<ActivitySwingAnimBinding>() {

    override fun ActivitySwingAnimBinding.initBinding() {
        showSwingAnimation()
    }

    private fun showSwingAnimation(){
        // 创建一个摇摆动画
        // 参数取值说明：中间度数、摆到左侧的度数、摆到右侧的度数、圆心X坐标类型、圆心X坐标相对比例、圆心Y坐标类型、圆心Y坐标相对比例
        // 坐标类型有三种：ABSOLUTE 绝对坐标，RELATIVE_TO_SELF 相对自身的坐标，RELATIVE_TO_PARENT 相对上级视图的坐标
        // X坐标相对比例，为0时表示左边顶点，为1表示右边顶点，为0.5表示水平中心点
        // Y坐标相对比例，为0时表示上边顶点，为1表示下边顶点，为0.5表示垂直中心点
        val swingAnimation = SwingAnimation(0f,60f,-60f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0f)
        // 设置动画的播放时长
        swingAnimation.duration = 4000
        // 设置动画的重播次数
        swingAnimation.repeatCount = 0
        // 设置维持结束画面
        swingAnimation.fillAfter = false
        // 设置动画的启动延迟
        swingAnimation.startOffset = 500
        // 开始播放摇摆动画
        mBinding.ivSwing.startAnimation(swingAnimation)
    }
}